type Box<T> = {
    name:T
}

let b:Box<number> = {
    name: 231,
}

interface Result{
    status:number,
    data:string
}
let r:Result = {
    status:12,
    data:"ok"
}
interface Result1<T>{
    status:any,
    data:T
}
let r1:Result1<string> = {
    status:12,
    data:"ok"
}
let r2:Result1<number> = {
    status:"hhh",
    data:22
}
let r3:Result1<{name:string,age:number}> = {
    status:true,
    data:{
        name:"xiaoming",
        age:32
    }
}
console.log(r3)